package com.gdth.widget.webview;

import android.graphics.Bitmap;
import android.net.http.SslError;
import android.webkit.SslErrorHandler;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class BaseWebViewClient extends WebViewClient{
	/**
	 * 加载页面资源 
	 */
	@Override 
	public void onLoadResource(WebView view, String url) {  
		super.onLoadResource(view, url);  
	}
	 
	/**
	 * 如果页面中链接，如果希望点击链接继续在当前browser中响应，而不是新开Android的系统browser中响应该链接，必须覆盖 webview的WebViewClient对象	
	 */
     @Override 
     public boolean shouldOverrideUrlLoading(WebView webview, String url) {   
         webview.loadUrl(url);  

         return true;  
     }

     /**
      * 网页加载开始(仅指主页，不包括图片)
      */
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) {
    	 super.onPageStarted(view, url, favicon);
     }  

     /**
      * 网页加载完毕(仅指主页，不包括图片) 
      */
     @Override 
     public void onPageFinished(WebView view, String url) {  
    	 super.onPageFinished(view, url); 
     }
     
	@Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){      
//		Toast.makeText(context, "网络连接失败 ,请连接网络。", Toast.LENGTH_SHORT).show();
    }
	
	//当load有ssl层的https页面时，如果这个网站的安全证书在Android无法得到认证，WebView就会变成一个空白页，而并不会像PC浏览器中那样跳出一个风险提示框  
	@Override  
	public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
		//忽略证书的错误继续Load页面内容  
		handler.proceed();  
		//handler.cancel(); // Android默认的处理方式  
		//handleMessage(Message msg); // 进行其他处理  
		//super.onReceivedSslError(view, handler, error);  
	}  

}
